using System;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.UI.Security.Services;
using System.Collections.Generic;
using Sinacor.Infra.Common;
using Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Bovespa.ManutencaoOrdens.Mensagem;

namespace Sinacor.UI.Bovespa.ManutencaoOrdens.Communication.Translator.ModelToDataContract
{
    /// <summary>
    /// Traduz um modelo para um contrato de dados
    /// </summary>
    [Serializable]
    public class Mensagem
    {
        public Mensagem() { }

		/// <summary>
        /// ToFiltroMensagemJustificativaObservacaoRequest
		/// </summary>
		/// <param name="from"></param>
		/// <returns></returns>
		public FiltroMensagemJustificativaObservacaoRequest ToFiltroMensagemJustificativaObservacaoRequest(Model.Parameter.FiltroMensagemJustificativaObservacao from)
        {
            FiltroMensagemJustificativaObservacaoRequest retorno = new FiltroMensagemJustificativaObservacaoRequest();

            if (from == null)
                return null;

            switch (from.TipoSistema)
            {
                case Sinacor.UI.Bovespa.ManutencaoOrdens.Model.Enum.TipoSistema.Ordem:
                    retorno.TipoSistema = TipoSistema.Ordem;
                    break;
                case Sinacor.UI.Bovespa.ManutencaoOrdens.Model.Enum.TipoSistema.Faturamento:
                    retorno.TipoSistema = TipoSistema.Faturamento;
                    break;                
            }           

            return retorno;
		}
	}
}